﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using WM.WinForm.Core.Extension;
using WM.WinForm.Core.WinMessage;

namespace WM.WinForm.Example
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // 处理行间距
            CSetLineSpace.SetLineSpace(this.richTextBoxColrFull, 500);

            /********************
             * C# 中的泛型集合提供了很多基于 Enumerable 的静态扩展方法，例如  Find,  OrderBy ， Average ，Distinct 等，
             * 在使用基础数据类型的集合时，可以直接调用这些方法，但如果是自定义类型就应当根据扩展方法所要求的接口，
             * 实现自定类型的扩展接口类，
             * 其实质就是使用扩展类的实例方法完成特定的操作逻辑，否则对集合的操作将是无效的。
             * *********************/
            // 查找指定的关键字
            List<string> keyWords = new List<string>() { "C#", "Find", "OrderBy", "Average", "Distinct" };
            // 处理设置颜色
            foreach (var item in keyWords)
            {
                int index= this.richTextBoxColrFull.Find(item);
                if (index > -1)
                {
                    // 将关键字高亮显示
                    this.richTextBoxColrFull.SetRTFHighlight(index, item.Length, Color.ForestGreen);
                }
            }
            this.richTextBoxColrFull.AppendText(Environment.NewLine);
            // 在结尾处追加显示高亮处理
            this.richTextBoxColrFull.AppendRTFText("本文以 OrderBy 为例进行说明 。", Color.Red);

        }
    }
}
